package hello.reddwarf.server;

import com.sun.sgs.app.ManagedReference;
import com.sun.sgs.app.Task;
import com.sun.sgs.app.util.ScalableHashMap;

import java.io.Serializable;
import java.text.DateFormat;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * Периодическая задача, выводящая в лог количество игроков онлайн
 */
public class OnlineLoggerTask implements Serializable, Task {

    private static final Logger logger = Logger.getLogger(OnlineLoggerTask.class.getName());

    private ManagedReference<ScalableHashMap<String, Player>> onlinePlayersRef;

    public OnlineLoggerTask(ManagedReference<ScalableHashMap<String, Player>> onlinePlayersRef) {
        this.onlinePlayersRef = onlinePlayersRef;
    }

    @Override
    public void run() throws Exception {
        logger.log(Level.INFO, "Online: {0}", onlinePlayersRef.get().size());
    }
}
